How to help
You can help and participate even if you don't have any coding or art skills. Below are tasks that anyone can complete, all you need is image editing software such as Krita or Gimp, which are available for free. Check what the project needs and choose whatever task pleases you. Create combat animations This project requires hundreds of combat animations, making these animations one of the most time consuming tasks. Some animations can be created by anyone, they require putting together a sprite sheet and sound effect to match. Other animations need coding knowledge and a lot of play testing. Regardless of the required skill level, the end product must look consistent to the visual style of Final Fantasy VI and faithful to the original animation it aims to recreate. Simple animations For simple animations, all that's needed is a sprite sheet and a sound effect. The sound and sprite sheet can be created from scratch or they can be captured from Final Fantasy VI. A simple animation does not have graphic elements that simultaneously appear on top and behind a character. It doesn't move along a variable trajectory. It doesn't do palette swaps. It doesn't cause screen shake or alter the background color. It doesn't create distortion effects. For an instance, Fire 2 is easily turned into an animation using nothing but a sprite sheet and sound effect. Regen creates a green glow on its target, which can only be achieved through masks. Fire 3 changes the background color and shoots a fireball over a variable trajectory. Both Regen and Fire 3 require a hands on coding approach to animate. On the other hand, animations like Fire 2 can be captured straight from Final Fantasy VI by anyone, no coding or art skills needed. Alternatively, you can use sprite sheets from The Spriters Resource . When using sprite rips, always do a frame by frame comparison with Final Fantasy VI to check for missing frames. Also make sure to take note of who ripped the sprite in case the author wishes to be credited. For sound effects, instead of capturing the sound you can go to The Sounds Resource, identify the sound and provide it along with the sprite sheet. How to create animation sprite sheets Every animation sprite sheet must follow these rules: * The width and height of each frame in the sprite sheet must always be divisible by 2. That means a frame sized 64x64 is okay, 24x8 is also okay. 25x8 is not okay, 65x65 is not okay. * The sprites must have a transparent background. * Every sprite in the sheet must be within its frame space. For an instance, we have a sprite sheet containing ten sprites and the broadest sprite is 12 pixels wide. Since the broadest sprite is 12 pixels wide, every sprite in the sheet must be contained within a 12 pixel wide frame. If every frame is placed next to each other, this sheet with ten sprites will be 120 pixels wide. * The amount of frames and the height/width of an individual frame in the sprite sheet must be known and informed to the programmer adding the assets to the game. * The sprite sheet must be in PNG format. * Preferably, every sheet should be in a single row. * Sprite sheets must avoid dead space, i.e., the image size should preferably be as tall as the tallest sprite and as wide as the widest sprite. * It is okay if the sprite sheet has repeated sprites. Repeated sprites can be used to inform how long a specific sprite should last in the animation. Below are examples of sprite sheets that have been correctly and incorrectly formatted. An example of correct formatting. Every frame is 106x94, the sprites are centered within each frame, there is no dead space, the image has a transparent background. It is easily converted to an in-game animation. Now an example of an improperly built sprite sheet The background is black, every frame in the animation is in the image but they are not properly separated. This is the end result: How to capture sound and sprites from Final Fantasy VI Here are some tools you can use to rip sprites from Final Fantasy VI: * Snes9x, an easy to use emulator with the option to rewind the game and advance frame by frame, very useful for ripping sprites. It also allows you to disable image layers so you can easily capture the desired sprite. * FF3SE, so you can erase enemy sprites and make your life easier capturing attack animations. * FF3usME, so you can edit character statistics, encounters, attack animations and have more control over your ripping environment. * ScreenToGif, an easy and quick way to capture spell animations. It has an image cropping function that makes it easier to capture sprites in the correct size. Once a GIF has been created, you can use... * Avi4BMP, to easily convert the GIF into a sprite sheet, ready to be edited with... * Krita, a free and easy to use image editing tool. Using a GIF to sprite sheet conversion is just one method. You can build proper sprite sheets from the sprites that have already been ripped at The Spriters Resource, you can manually capture the animation frame by frame and edit it on Krita. Do whatever works for you. To capture sound, use Audacity and on Snes9x disable the sound channels that play undesired sound effects. Step by step checklist for creating animation sprite sheets #Check if the animation is suitable for conversion into a sprite sheet #Capture each frame of animation or use already existing sprite rips #Assemble each frame of the animation into a single row sprite sheet #Pay close attention to the spacing of the sprite, every sprite must individually occupy evenly sized rectangles (each rectangle is a frames in the animation) #Remove background color and replace it with a transparent background #Take note of the maximum width and height of the sprites #Take note of how many frames there are in the sheet #Find or capture a matching sound for the animation #Share sprite sheet, sound file and size information with a programmer Create character sprite sheets There are 13 characters to add, some of them have multiple sprite sheets, such as Zidane with his trance mode and Bartz with multiple jobs. In total, there are approximately 30 more character sprite sheets left to be complete. The character sprites must be separated according to the standards used by the animation engine. Each character has several sheets for poses such as walking and attacking. Additionally, RGB information on the color of a character's skin, eyes and outline must be acquired so they can be used with palette swapping shaders. How to organize and create a character sprite sheet Every character has 28 individual sheets. These are the required poses to create a character: *Walk, horizontal *Walk, back *Walk, front *Pre-melee attack stance *Melee right *Melee left *Character left arm up *Character left arm down *Pre-magic cast stance *Casting magic *Taking damage *Critical stance *Dead *Confused *Petrified *Mini, Walk horizontal *Mini, preparing action *Mini, melee attack *Mini, casting magic *Mini, taking damage *Mini, critical state *Mini, dead *Character portrait The following are important requirements to build character sprite sheets: * The character must be facing right in every pose. * The image must have transparent background. * A single character sprite must not be larger than 16x24. Therefore, a sprite sheet that has 3 sprites will be 48 pixels wide (3x16), 24 pixels tall, sizes must be exact. * Careful attention should be paid to proper sprite alignment so the character animates correctly. The exceptions for these width and height requirements are: *Arm sprites, which can have any size. *Dead stance, which may be 16x24 or 24x16 *Portrait, which is always 40x40 Below is a gallery containing all of the individual image files necessary to build a character. Squall walk hor.png|Walk horizontal, always 3 poses Squall walk front.png|Walk front, always 3 poses Squall walk back.png|Walk back, always 3 poses Squall attack stance.png|Pre-melee attack stance, every single sprite must have a maximum size of 16x24 Squall melee right.png|Melee right, always 2 poses Squall melee left.png|Melee left, always 2 poses squall arm up.png|Left arm up, used when the character is facing up squall arm down.png|Left arm down, used when the character is facing right Squall focus.png|Pre-magic cast stance, may be 1 or 2 poses Squall magic cast.png|Casting magic Squall damage.png|Taking damage Squall critical.png|Critical state Squall dead.png|Dead, this sprite may be 24x16 instead of 16x24 Squall confuse.png|Confused, always 3 poses Squall stone.png|Petrified Squall mini walk hor.png|Mini status, walk horizontal Squall mini attack stance.png|Mini status, preparing action Squall mini melee.png|Mini status, melee attack Squall mini magic cast.png|Mini status, casting magic Squall mini damage.png|Mini status, taking damage squall mini critical.png|Mini status, critical state Squall mini dead.png|Mini status, dead Squall portrait.png|Character portrait, always 40x40 Download and observe how the sprites are organized. Sprites can be ripped or found at The Spriter's Resource. Some of those sprite rips may not have the following poses: *Front walk *Back walk *Arms up facing front *Arms up facing back In those cases, request help from a spriter. If you have the skills, create those poses yourself. There are also characters that have multiple forms, like Zidane's trance mode or Bartz' job outfits. The same process described above must be done for every sprite of these alternate forms. Lastly, character portraits should be ripped from Dissidia Duodecim, make sure the image is 40x40 Acquiring color data from the character Palette swapping was extensively used in FFVI's combat animations. Palette swapping is not a feature in GameMaker Studio 2, so an alternate solution using shaders was employed. For the shaders to work, data on the RGB color values of a character must be acquired. These can be easily found using an image editor such as Krita, Gimp or Photoshop. The following colors must be provided: *Base skin color *Shade skin color *Outline color *Eye color *Frog status base skin color *Frog status shade skin color In that picture, Terra's base skin color is R:248, G:192, B:136. All three values for each required color must be provided. Additionally, a suggested color for the character in Frog status should be provided. These are just two colors of the same tone. Two shades of red, for an instance, or two shades of black. These colors can be found in the Record Keeper sprite sheets. Step by step checklist for creating character sprite sheets #Acquire sprite rips or rip the sprites yourself. #Identify every required pose and separate them into different image files. #Make sure each sprite size is no larger than 16x24 (with exception of dead character pose, which may be 24x16) #Properly name each image file for easy identification. #Acquire RGB color data for base skin color, shade skin color, outline color, eye color, frog status base color, frog status shade color. #Share properly named sprite sheets and color information. Category:Tutorial